let o = {
  x: 1,
  foo: () => {
    console.log("hello, world");
  },
};
let p = Object.create(o);
p.y = 2;

for (let v in p) {
  console.log(v); // y x foo
}

console.log("=====");
// 只打印自有属性
for (let v in p) {
  if (p.hasOwnProperty(v)) {
    console.log(v); // y
  }
}
console.log("=====");
// 跳过所有方法
for (let v in p) {
  if (typeof p[v] !== "function") {
    console.log(v); // y x
  }
}
